Racket 教程大纲

#Technomous #Lisp

语言优势概览

开发环境安装

语法:符号表达式

数据:原子、列表和 ...

在介绍数据之前,我们先了解一个基本概念——命名。它是程序设计语言中必不可少的方面,就是它需要提供一种通过名字去使用计算对象的方式。我们将名字标识符成为变量,它的值也就是它所对应的那个对象。在 Racket 中给事物命名通过 define 的方式完成,例如:(define size 2)

  1. 原子数据:数字、布尔值、空值、字符、字符串、标识符等
  2. 列表:列表是主要的非原子结构(也就说,不是数字、字符串等)

只用原子和列表在理论上虽已完备,但是为了更高效的编程,Racket 提供了更多数据:

  1. 向量:向量表面上与列表相似但它们有很大的不同。与列表的内部树结构不同,向量是单元格的有序数组(很像命令式语言中的数组),它直接包含值
  2. 结构体:结构体可以让我们像 C 语言中那样构建自己的数据类型
  3. 哈希表
  4. 集合

过程:lambda 表达式

匿名函数:

(lambda (<formal parameters>) <body>)

有名函数:

(define <name> (lambda (<formal parameters>) <body>))

有名语法糖:

(define (<name> <formal parameters>) <body>)